package com.gnerv.battle.boot.module.base.service;

import com.gnerv.battle.boot.module.base.model.bo.DictBO;
import com.gnerv.battle.boot.module.base.model.dto.DictDTO;
import com.gnerv.battle.boot.module.base.model.dto.DictDetailsDTO;
import lombok.NonNull;

import java.util.List;

/**
 * @author Gnerv LiGen
 */
public interface DictService {

    boolean create(@NonNull DictBO dictBO);

    boolean deleteByUkId(@NonNull String ukId);

    boolean updateByUkId(@NonNull DictBO dictBO);

    DictDTO selectByUkId(@NonNull String ukId);

    DictDetailsDTO selectDetailsByCode(@NonNull String code);

    List<DictDTO> listByName(String name);

    List<DictDetailsDTO> listDetailsByName(String name);

    boolean isExist(@NonNull String code, String ukId);
}
